Accompanying the phenomenal growth in consumer communications has been an ever-growing need for ensuring the privacy of consumer communications. This need has been satisfied to some extent for cellular telephones by using various encryption techniques. It is expected that the need will soon become apparent for data communications as well. As wireless communications become more prevalent, the need for ensuring the privacy of consumer communications will likely grow even further.
Conventional methods of ensuring consumer communication privacy typically use message encryption keys (i.e., session keys). Session keys generally are only used once to encrypt a given flow of messages. For instance, a cell phone conversation would likely use only a single session key. Once a call is finished, the session key would be discarded. A subsequent call would require a new session key.
Session keys can be created “on the fly” by algorithmic techniques or they can be created “in the factory” and used as needed. Conventionally, consumer communications devices create session keys “on the fly” by algorithmic techniques. This approach has two major drawbacks, however. First, it is difficult to guarantee truly random session keys because the algorithms have only a limited set of possible inputs and, therefore, will generate only a limited set of pseudo-random outputs. Second, generating good session keys is computationally expensive and, thus, requires a powerful processing unit and an ample supply of power. Both of these requirements are problematic for hand-held wireless devices.
Therefore, there exists a need for a system and method that can generate encryption keys and supply the generated encryption keys to consumer communications devices with low power requirements and without requiring a powerful processor in the communication device.